﻿// -------------------------------------------------------------------------
//    @FileName         :    NFPackageDefine.h
//    @Author           :    gaoyi
//    @Date             :    2025/1/3
//    @Email            :    445267987@qq.com
//    @Module           :    NFPackageDefine
//
// -------------------------------------------------------------------------

#pragma once

#include "NFComm/NFCore/NFPlatform.h"

typedef enum
{
    EN_WARE_CONTAINER_OP_CREATE   = 1,  //创建新物品
    EN_WARE_CONTAINER_OP_DESTORY  = 2,  //销毁物品
    EN_WARE_CONTAINER_OP_INCREASE = 3,  //增加物品件数
    EN_WARE_CONTAINER_OP_DECREASE = 4,  //扣减物品件数
} EN_ITEM_BAG_OP_TYPE;

// 删除物品时 判断删除绑定的 还是不绑定的
typedef enum{
    EN_DEL_AND_BIND_TYPE_MIN = 0, // 在此之后按序递增

    EN_DEL_AND_BIND_TYPE_DEFAULT = 0,
    EN_DEL_AND_BIND_TYPE_UNBIND_ONLY = 1,  // 只删除未绑定的

    EN_DEL_AND_BIND_TYPE_MAX, // 在此之前按序递增添加
} EN_DEL_AND_BIND_TYPE;

typedef struct stWareIndexOPData
{
    int m_iResID;
    int16_t m_nGridIndex;
    uint64_t m_ullUID;
    uint32_t m_dwInfectionID;
} ST_WARE_INDEX_OP_DATA;

typedef struct stItemOpPos
{
    int16_t m_nGridIndex;
    EN_ITEM_BAG_OP_TYPE m_nOpType;
    bool m_bIsNeedBind;
    int16_t m_nOpNum;
    int32_t m_iResID;
    uint64_t m_ullUID;
    uint8_t m_bTabIndex;
    uint32_t m_dwInfectionID;
}ST_WARE_OP_POS;